1. Field of the Invention
The present invention relates generally to navigation systems, e.g., Global Navigation Satellite Systems (GNSSs), and in particular, a method and apparatus for improving the accuracy of physical characteristic calculations, e.g., position, velocity, and/or time accuracy, for a user using a navigation system.
2. Description of the Related Art
Satellite navigation technology is used in a variety of electronic devices. For example, many mobile telephones have some form of integrated location system that works with one or more GNSS, such as a GLObalnaya NAvigatsionnaya Sputnikovaya Sistema (GLONASS) or a Global Positioning System (GPS). Additionally, in car navigation systems are used to determine the velocity of a vehicle for tracking and monitoring purposes.
Taking GPS as an example, which operates with 24 orbiting satellites, for civilian purposes, each satellite outputs a navigation or location signal on a first channel L1 at 1575.42 MHz. The signal carries a Coarse-grained Acquisition (C/A) code. The C/A code is modulated and repeated on the L1 wave every millisecond and contains the time the code was transmitted, based on an atomic clock onboard the satellite.
A civilian GPS receiver receives the C/A code from a satellite and compares it with a replica signal generated by the receiver using a receiver clock. From this comparison, a time difference between the satellite's atomic clock and the receiver clock is determined. The time difference is then multiplied by a known value for the speed of light to determine a distance between the GPS receiver and the satellite. This distance measurement is referred to as pseudorange measurement because it will contain inherent inaccuracies, e.g., due to timing errors, atmospheric conditions, measurement errors etc.
Using the pseudorange measurements for a plurality of satellites, together with the calculated positions of these satellites, a location in a number of dimensions can be calculated. For example, by using three satellites, a user's location in two dimensions can be calculated; by using four satellites, a user's location in three dimensions can be calculated. The additional satellite in each case is used to determine a timing correction. The positions of each of these satellites at the time the original C/A code was transmitted can be determined using orbit parameters (sometimes referred to as “ephemeris”) and/or almanac data broadcast by the satellites. From this information, a satellite coordinate (X,Y,Z) can be computed.
Several solutions have been proposed to increase the accuracy and/or integrity of location information provided by satellite location systems. One of these solutions is referred to as Receiver Autonomous Integrity Monitoring (RAIM). A solution of this form may use a weight in relation to the measurements to prefer satellites that are positioned over a receiving device rather than at an obtuse angle to the receiving device. For example, satellites that are nearer the horizon in relation to a receiving device positioned on the Earth's surface are likely to suffer from greater errors, and therefore, their contribution may be reduced with appropriate weighting factors. This approach is described in a publication by T. Walter and P. Enge, which is entitled “Weighted RAIM for Precision Approach,” Proceedings of ION-GPS 95, Palm Springs, Calif., Sep. 12-15, 1995 and in U.S. Pat. No. 5,831,576, which is entitled “Integrity Monitoring of Location and VELOCITY coordinates from Differential Satellite Positioning Systems Signals”.
In these documents possible large errors in pseudorange measurements are detected by comparing a cost function F to a threshold hF, wherein if the cost function is greater than the threshold, i.e., F>hF, for one or more particular satellites, measurement values for those satellites are not used or are modified. The cost function F is typically based on position errors for one or more satellites after a location has been calculated, e.g., may be based on the pseudorange residual values. If the cost function relates to more than one satellite, a weighted sum of the squared residuals may be used. In the publications described above, the threshold hF is based on a false alarm probability.
Other examples of integrity monitoring are also described by P. B. Ober in “Integrity Monitoring: Information paper” TVS Memorandum No. REP9606B, June, 1996, by R. G. Brown in “Receiver Autonomous Integrity Monitoring”, in Global Positioning System: Theory and applications Volume 2, eds. B. W. Parkinson and J. J. Spilker Jr., American Institute of Aeronautics and Astronautics, 1996, and in U.S. Pat. No. 6,134,484, which is entitled “Method and Apparatus for Maintaining the Integrity of Spacecraft Based Time Position Using GPS”.
Another solution for improving accuracy is described in U.S. Pat. No. 5,808,581, which is entitled “Fault Detection and Exclusion Method for Navigation Satellite Receivers”, and looks for erroneous pseudorange steps by predicting changes in pseudoranges from one measurement to the next. U.S. Pat. No. 5,808,581 proposes to compare directly obtained pseudorange residuals and pseudorange residuals obtained after filtering the achieved decision by a Kalman filter. If the difference of the two pseudorange residual value exceeds a threshold, pseudorange measurements for a satellite are excluded from the decision.
However, there is still a problem of improving accuracy in navigation systems. That is, while solutions have been presented for dedicated navigation use, e.g., in aircraft, ships, or for tracking, these solutions are limited for consumer GNSS applications.
Further, conventional solutions typically involve rejecting satellite measurements that contain large errors. These techniques improve accuracy when the number of “erroneous” satellites is no more than one. However, if the number of “erroneous” satellites is greater than one, these methods become inefficient. Further, when the number of “erroneous” satellites equals half the total number of satellites, these methods produce incorrect results.